
/**
 * 技能发动时机(技能配置中的 change 字段, 注意是采用位移数字进行配置的，并非下表中的实际数值)
 * @description 举例说明, 如果某技能的发动时机配置为 BeDead, 则当英雄濒死阶段会自动触发该技能
 */
export const NotifyEnum = {
    /**
     * 空值
     */
    None: 0,
    /**
     * 濒死
     */
    BeDead: 1 << 0,
    /**
     * 因单体攻击受到伤害
     */
    BeSingleHurted: 1 << 1,
    /**
     * 因群体攻击受到伤害
     */
    BeMultiHurted: 1 << 2,
    /**
     * 角色死亡
     */
    Dead: 1 << 3,
    /**
     * 发动单体普攻
     */
    Attack: 1 << 4,
    /**
     * 开始阶段，英雄获取控制权
     */
    PeriodStart: 1 << 5,
    /**
     * 单体攻击造成伤害
     */
    SingleHurt: 1 << 6,
    /**
     * 群体攻击造成伤害
     */
    MultiHurt: 1 << 7,
    /**
     * 英雄入场，作为英雄技能触发的特殊时期，此类技能CD一般设为0
     */
    PeriodEnter: 1 << 9,
    /**
     * 消灭一个敌人
     */
    Kill: 1 << 12,
    /**
     * 发动群体普攻
     */
    MultiAttack: 1 << 13,
    /**
     * 恢复生命
     */
    Recover: 1 << 15,
    /**
     * 被恢复生命
     */
    Recovered: 1 << 16,
    /**
     * 濒死-只通知自己
     */
    BeDeadSelf: 1 << 17,
    /**
     * 重整时满血
     */
    FullBlood: 1 << 18,
    /**
     * 重整时残血
     */
    LowBlood: 1 << 19,

    /**
     * 通知类型的名称
     */
    StatusName: function($ai){
        switch ($ai){
            case NotifyEnum.BeDead:
                return "濒死";
            case NotifyEnum.BeSingleHurted:
                return "受到单体伤害";
            case NotifyEnum.BeMultiHurted:
                return "受到群体伤害";
            case NotifyEnum.Dead:
                return "死亡";
            case NotifyEnum.Attack:
                return "发动单体普攻";
            case NotifyEnum.MultiAttack:
                return "发动群体普攻";
            case NotifyEnum.PeriodStart:
                return "获得行动权";
            case NotifyEnum.SingleHurt:
                return "造成单体伤害";
            case NotifyEnum.MultiHurt:
                return "造成群体伤害";
            default:
                return "";
        }
    }
}
